//定义一个数据读取的方法  然后处理数据

/* *
*obj  当前对象  key传递的属性名字
*作用  当前对象不为空的时候  返回当前对象的属性值
*/
function wrapperNum(obj,key) {
    return obj && obj[key] ? forMat(obj[key]) : 0;
}

//定义一个方法  如果有￥ 符号做一个返回  val 需要处理的字符串
function moneyNum(obj,key) {
    return obj && obj[key] ? `￥${forMat(obj[key])}` : 0;
}

//定义一个分割方法：千位符
function forMat(val) {
    return (+val).toLocaleString()
}
//定义一个百分号的方法
function persentNum(obj,key) {
    return obj && obj[key] ? `${obj[key]}%` : 0;
}

/* 封装包裹数组的方法 */
function wrapperArr(obj,key) {
    return obj && obj[key] ? obj[key] : [];
}
/* 封装包裹对象的方法 */
function wrapperObj(obj,key) {
    return obj && obj[key] ? obj[key] : [];
}

export default {
    /* 通过inject把依赖注入传递过来的getReportData方法接收 */
    inject: ['getReportData'],
    computed: {
        //定义一个计算属性  拿到祖先组件的方法
        reportData() {
            return this.getReportData()
        },


        /* 关于全年用户销售访问 */
        orderFullYear() {
            return wrapperArr(this.reportData,"orderFullYear")
        },
        orderFullYearAxis() {
            return wrapperArr(this.reportData,"orderFullYearAxis")
        },
        userFullYear() {
            return wrapperArr(this.reportData,"userFullYear")
        },
        userFullYearAxis() {
            return wrapperArr(this.reportData,"userFullYearAxis")
        },


        /* 排行榜数据 */
        orderRank() {
            return wrapperArr(this.reportData,"orderRank")
        },
        userRank() {
            return wrapperArr(this.reportData,"userRank")
        },

        /* 累计销售 */
        salesToday() {
            // return this.reportData && this.reportData.salesToday
            return moneyNum(this.reportData,"salesToday")
        },
        /* 昨日销售额 */
        salesLastDay() {
            // return this.reportData && this.reportData.salesLastDay
            return  moneyNum(this.reportData,"salesLastDay")
        },
        salesGrowthLastDay() {
            return persentNum(this.reportData,'salesGrowthLastDay')
        },
        salesGrowthLastMonth() {
            return persentNum(this.reportData,'salesGrowthLastMonth')
        },




        //累计订单量
        orderToday() {
            // return this.reportData && this.reportData.salesToday
            return wrapperNum(this.reportData,"orderToday")
        },
        /* 昨日订单量 */
        orderLastDay() {
            return  wrapperNum(this.reportData,"orderLastDay")
        },
        /* 图形订单数据 */
        orderTrend() {
            return  wrapperArr(this.reportData,"orderTrend")
        },




        /* 交易 */
        //今日交易用户量
        orderUser() {
            // return this.reportData && this.reportData.salesToday
            return wrapperNum(this.reportData,"orderUser")
        },
        /* 退货率 */
        returnRate() {
            return persentNum(this.reportData,'returnRate')
        },
        orderUserTrend() {
            return wrapperArr(this.reportData,'orderUserTrend')
        },
        orderUserTrendAxis() {
            return wrapperArr(this.reportData,'orderUserTrendAxis')
        },






        /* 用户 */
        userToday() {
            return wrapperNum(this.reportData,"userToday")
        },
        userLastDay() {
            return wrapperNum(this.reportData,"userLastDay")
        },
        userLastMonth() {
            return wrapperNum(this.reportData,"userLastMonth")
        },
        userGrowthLastDay() {
            return persentNum(this.reportData,"userGrowthLastDay")
        },
        userGrowthLastMonth() {
            return persentNum(this.reportData,"userGrowthLastMonth")
        },


        /* 品类发布数据 */
        cateGory() {
            return wrapperObj(this.reportData,'category')
        }

    },
}